Filebeat এবং Logstash ব্যবহার করে লগ সংগ্রহ (Log Collection) করার প্রক্রিয়া খুবই কার্যকর এবং স্কেলেবল। এই প্রক্রিয়ায় Filebeat মূলত লগ সংগ্রহ করে Logstash-এ পাঠায়, যেখানে লগ ডেটা প্রসেস করা হয় এবং শেষে Elasticsearch-এ ইনডেক্স করা হয়। নিচে এই প্রক্রিয়া ধাপে ধাপে বর্ণনা করা হলো:
Filebeat এবং Logstash ব্যবহার করে Log Collection এর স্টেপ:
১. Filebeat ইনস্টল এবং কনফিগারেশন
Filebeat একটি লাইটওয়েট শিপার যা বিভিন্ন সোর্স থেকে লগ সংগ্রহ করে Logstash বা Elasticsearch-এ পাঠায়।
Filebeat ইনস্টলেশন:
- আপনার সার্ভারে Filebeat ইনস্টল করুন (উদাহরণ:
apt install filebeatবাyum install filebeatকমান্ড ব্যবহার করে)।
Filebeat কনফিগারেশন (filebeat.yml):
- Filebeat কনফিগারেশন ফাইলে ইনপুট এবং আউটপুট সেকশন কনফিগার করুন।
- উদাহরণ:
filebeat.inputs:
- type: log
paths:
- /var/log/*.log
output.logstash:
hosts: ["logstash_server:5044"]- উপরের কনফিগারেশনে,
/var/log/*.logথেকে লগ সংগ্রহ করা হবে এবং Logstash সার্ভারের5044পোর্টে পাঠানো হবে।
Filebeat মডিউল সক্রিয় করা:
- Filebeat বিভিন্ন অ্যাপ্লিকেশনের জন্য প্রি-কনফিগারড মডিউল অফার করে (যেমন Nginx, Apache, System logs ইত্যাদি)। এই মডিউল সক্রিয় করতে কমান্ড ব্যবহার করতে পারেন:
filebeat modules enable nginx২. Logstash ইনস্টল এবং কনফিগারেশন
Logstash একটি সার্ভার-সাইড ডেটা প্রসেসিং পাইপলাইন। এটি Filebeat থেকে ডেটা গ্রহণ করে, ফিল্টার বা প্রসেস করে, এবং তারপর Elasticsearch-এ পাঠায়।
Logstash ইনস্টলেশন:
- সার্ভারে Logstash ইনস্টল করুন (
apt install logstashবাyum install logstash)।
Logstash কনফিগারেশন (logstash.conf):
- Logstash কনফিগারেশন ফাইলে ইনপুট, ফিল্টার, এবং আউটপুট সেকশন থাকে।
- উদাহরণ:
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch {
hosts => ["http://elasticsearch_server:9200"]
index => "logs-%{+YYYY.MM.dd}"
}
}
- ইনপুট সেকশন: Filebeat থেকে লগ ডেটা গ্রহণ করার জন্য
beatsপ্লাগইন ব্যবহার করা হয়েছে এবং পোর্ট5044সেট করা হয়েছে। - ফিল্টার সেকশন:
grokএবংdateপ্লাগইন ব্যবহার করে লগ ডেটা প্রসেস করা হয়েছে।grokপ্লাগইন সাধারণত লগ প্যাটার্নের সাথে ম্যাচ করে ডেটা ফিল্ড হিসেবে আলাদা করে। - আউটপুট সেকশন: প্রক্রিয়াকৃত ডেটা Elasticsearch-এ ইনডেক্স করা হয়েছে, এবং ইন্ডেক্সের নাম "logs-YYYY.MM.dd" ফরম্যাটে রাখা হয়েছে।
৩. সার্ভিস শুরু করা
- Filebeat এবং Logstash সার্ভিস চালু করুন:
- Filebeat:
sudo service filebeat start- Logstash:
sudo service logstash startউপসংহার
Filebeat এবং Logstash ব্যবহার করে লগ সংগ্রহ এবং প্রক্রিয়াকরণের প্রক্রিয়া অত্যন্ত কার্যকরী। এটি স্কেলেবল এবং কাস্টমাইজযোগ্য, যা বিভিন্ন টুলের লগ ইনটেক এবং প্রসেসিংয়ের জন্য অত্যন্ত উপযোগী। এই প্রক্রিয়ায় আপনি কাস্টম ফিল্টার সেট করতে পারেন এবং Elasticsearch-এ ডেটা সংগঠিতভাবে ইনডেক্স করতে পারেন।
Read more